#ifndef REGION_HPP
#define REGION_HPP

#define InvalidIndex -1
//------------------------------------------------------------------------------
// Fichier d'entête utilisés
//------------------------------------------------------------------------------

namespace ImageAnalysis
{
//----------------------------------------------------------------------
// Cette classe permet de définir les coordonnées d'une partie 
// connexe de l'image contenue dans un rectangle.
//----------------------------------------------------------------------
class Region
{
public:

        //----------------------------------------------------------------------
        // Ces attributs permettent de définir la région. X et Y sont
		// l'origine de la région, en haut à gauche par convention/
		// Width est la largeur et Height la hauteur
        //----------------------------------------------------------------------
        int Width;
        int Height;
        int X;
        int Y;

        //----------------------------------------------------------------------
        // Constructeur
        //----------------------------------------------------------------------
        Region(int x, int y, int width, int height);

        //----------------------------------------------------------------------
        // Destructeur
        //----------------------------------------------------------------------
        ~Region();

private:
        //----------------------------------------------------------------------
        // Constructeur par copie et oprérateur d'affectation en privée pour
        // interdire leur utilisation
        //----------------------------------------------------------------------
        Region( const Region& copy);
        Region& operator=( const Region& copy );
};

}

#endif //REGION_HPP
